iT邦幫忙

2022 iThome 鐵人賽

DAY 7
1
DevOps

不想吃土嗎?就利用開源軟體打造CICD Pipeline吧!系列 第 7

Day 7: 程式碼好不好我說了算!程式碼檢測工具SonarQube

  • 分享至 

  • xImage
  •  

作為一個程序員,每天都會編寫一大堆程式碼。但我相信每一個程序員都不能百分之百保證,自己所寫的每一行程式碼都没有錯誤。即使找別的同事做了code review,百密也總是會有一疏。這個時候,我們就可以使用一些檢測工具,去幫我們掃描一下開發的代碼中,是否有潛在的問題。這一類的檢測掃描,我們一般會分類為靜態應用程式安全測試(SAST)。

所以今天我們會介紹一個開源的SAST測試工具去保障我們的代碼質素。而這個好用的工具,就是SonarQube了。
https://ithelp.ithome.com.tw/upload/images/20220919/20152012Gby8UyZAKB.png

甚麽是SonarQube?

SonarQube是一套基於Java開發的程式檢測碼以及品質管理平台。SonarQube最主要提供了以下的功能。

  • 程式碼漏洞檢測
  • 程式碼錯誤檢測
  • 程式碼安全風險檢測
  • 程式碼潛在問題檢測
  • 程式碼重複性檢測
  • 單元測試覆蓋率檢測

而開源版本的SonarQube所提供的掃描內容,支援多逹17種程式語言。基本上已經覆蓋了大部份常用的程式語言如Java, Javascript, Ruby, PHP, Python…等。最新的幾個版本甚至支援一些Infrastructure as Code的Framework如Terraform及AWS CloudFormation。如果使用Developer以上的版本,更可以支援Swift, C++等語言。

SoanrQube亦提供了一個網頁化的介面去方便操作。檢測分析後的報告會上傳到網頁上,然後用戶可以在其中查看相關專案的檢查報告。而SonarQube亦會在報告中提供相關程式碼的改善建議。

小結

今天先簡單介紹一下SonarQube。接著的兩天,我們會一起安裝及使用SonarQube進行一下掃描。

題外話

SonarQube應該是比較常用的一個工具。在相對大型的企業中開發時,通常客戶方的安全人員都會拿著SonarQube的檢測報告對我們窮追猛打。所以,最好還是自己先掃描一下,那麽才可以保障作為程序員的生命安全(所以這就是所謂的安全工具嗎?)。


上一篇
Day 6: 工廠始動!我的第一條Jenkins Pipeline!
下一篇
Day 8: 快快樂樂地用SonarQube進行檢測吧!
系列文
不想吃土嗎?就利用開源軟體打造CICD Pipeline吧!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言